<?php

class searchform extends formEngine {

    protected $formName = 'searchform';
    protected $resultAction = 'resultpage';
    protected $resultPage = 'searchResult';
    protected $resultApplication = 'search';

    public function load($page) {

        $cssClass = "zoekformVoorpagina";

        $dagen = array();
        $maanden = array();
        $jaren = array();

        for ($i = 1; $i <= 31; $i++) {
            $dagen[$i] = $i;
        }

        for ($i = 1; $i <= 12; $i++) {
            $maanden[$i] = $i;
        }

        for ($i = 2013; $i <= 2014; $i++) {
            $jaren[$i] = $i;
        }


        $this->addComponent('textfield', array('label' => 'Van', 'name' => 'van', 'cssClass' => $cssClass));
        $this->addComponent('textfield', array('label' => 'Naar', 'name' => 'naar', 'cssClass' => $cssClass));
        $this->addComponent('selectfield', array('label' => 'Dag',  'name' => 'dag', 'cssClass' => $cssClass . ' .datum', 'value' => $dagen));
        $this->addComponent('selectfield', array('label' => 'Maand', 'name' => 'maand', 'cssClass' => $cssClass, 'value' => $maanden));
        $this->addComponent('selectfield', array('label' => 'Jaar', 'name' => 'jaar', 'cssClass' => $cssClass, 'value' => $jaren));
        $this->addComponent('button', array('id' => 'zoeken', 'value' => 'Zoeken', 'name' => 'zoeken', 'cssClass' => $cssClass));

        parent::load($page);
    }

    public function validate(&$values) {

        $error = "";

        // Validatie op de velden uitvoeren
        if(!isset($values['van']) || $values['van'] == '') {
                $error .= "Geen geldige 'van' waarde ingevoerd \n";
        }

        if(!isset($values['naar']) || $values['naar'] == '') {
                $error .= "Geen geldige 'naar' waarde ingevoerd \n";
        }
        
        if(!isset($values['dag']) || $values['dag'] == -1) {
                $error .= "Geen geldige 'dag' ingevoerd \n";
        }
        
        if(!isset($values['maand']) || $values['maand'] == -1) {
                $error .= "Geen geldige 'maand' ingevoerd \n";
        }
        
        if(!isset($values['jaar']) || $values['jaar'] == -1) {
                $error .= "Geen geldige 'jaar' ingevoerd \n";
        }

        if($error != ''){
            return $error;
        }
        
        $datum = $values['jaar'].'-'.$values['maand'].'-'.$values['dag'].' 00:00:00';

        // Call uitvoeren naar server om te bepalen of er resultaten gevonden worden
        $restService = restService::instantiate();
        $route = $restService->zoekRoute($values['van'], $values['naar'], $datum);

        if($route->status != "OK") {
            return "Route niet gevonden, probeer opniew te zoeken \n";
        }
        
        if($route->ritten == '' || count($route->ritten) == 0) {
            return "Geen resultaten gevonden op deze zoekactie.";
        }

        $_SESSION['searchvalues'] = $values;
        $_SESSION['searchresponse'] = $route;

        return true;

    }

    public function save(&$values) {

        return true;

    }

}

?>
